home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / libs / otm3d095 / sin.cpp < prev    next >
C/C++ Source or Header  |  1994-12-12  |  1KB  |  59 lines

  1. #include <math.h>
  2. #include "sin.h"
  3.  
  4. // sine and cosine tables
  5.  
  6. int sinus[361];
  7. int cosinus[361];
  8.  
  9. // return sine of angle given in degrees
  10.  
  11. int zDSin(int deg)
  12. {
  13.     //deg %= 360;
  14.     if (deg < 0)
  15.         deg += 360;
  16.     return(sinus[deg]);
  17. }
  18.  
  19. // return sine of angle given in radians
  20.  
  21. int zRSin(double rad)
  22. {
  23.     return(zDSin((int) (rad * 180 / PI)));
  24. }
  25.  
  26. // return cosine of angle given in degrees
  27.  
  28. int zDCos(int deg)
  29. {
  30.     //deg %= 360;
  31.     if (deg < 0)
  32.         deg += 360;
  33.     return(cosinus[deg]);
  34. }
  35.  
  36. // return cosine of angle given in radians
  37.  
  38. int zRCos(double rad)
  39. {
  40.     return(zDCos((int) (rad * 180 / PI)));
  41. }
  42.  
  43. // initializes sin/cos tables.  VERY IMPORTANT that this is called.  If you
  44. // #include "3dtools.h", this function is called automatically when the 
  45. // world3d object initializes
  46.  
  47. void initSinCos()
  48. {
  49.     int count;
  50.  
  51.     for (count = 0; count <= 360; count++)
  52.     {
  53.         sinus[count] = (int) (sin((float) count * PI / 180) * 256);
  54.         cosinus[count] = (int) (cos((float) count * PI / 180) * 256);
  55.     }
  56.  
  57. }
  58.  
  59.